home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 14 / CU Amiga Magazine's Super CD-ROM 14 (1997)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-09].iso / CUCD / Programming / Blitz2 / BlitzFaq / FaqLists / ChunkyLibDemo.txt < prev    next >
Encoding:
Text File  |  1996-08-31  |  3.1 KB  |  170 lines

  1. ; chunky copper display: 92x120
  2. ;
  3. ; copper loads 91 colors in alternate banks switching display bit at end
  4. ; bank1 = 32...127
  5. ; bank2 = 160..255
  6.  
  7. a=1
  8.  
  9. ps=2:chw=90:chh=90:chc=chw+chw/32+1+2
  10.  
  11. ;#ps=3                           ;pixel size (2 or 3)
  12. ;#chw=20                         ;chunky width
  13. ;#chh=84                         ;chunky height
  14. ;#chc=#chw+#chw/32+1+2           ;coppers per line
  15.  
  16. ox=3                            ;window offset
  17.  
  18. builddisplay:
  19.   InitPalette 0,256:PalRGB 0,1,15,15,15:PalRGB 0,129,15,15,15
  20.   BitMap 0,384+64,280+20,7:BitPlanesBitMap 0,1,$f0
  21.   For x.w=0 To chw-1:dx=x*ps+ox:Boxf dx,3,dx+ps-1,2+chh*ps,255-x:Next
  22. ;  Box 0,0,367,255,1:Box ox-1,2,chw*ps+ox,chh*ps+3,1
  23.   ;
  24.   ccc.l=CustomChunkySize(chw,chh)
  25.  
  26.   InitCopList 0,44,256,$13007,8,256,ccc
  27.   InitCopList 1,44,256,$13007,8,256,ccc
  28.  
  29.   DisplayPalette 0,0:DisplayBitMap 0,0
  30.   DisplayPalette 1,0:DisplayBitMap 1,0
  31.  
  32.   CustomChunky 0,0,ps,chw,chh,ps
  33.   CustomChunky 1,0,ps,chw,chh,ps
  34.  
  35.   BLITZ
  36.  
  37.   Mouse On
  38.  
  39.   CreateDisplay 0:Use CopList 0
  40.  
  41. Repeat
  42.  
  43.   For z.w=0 To 15
  44.     VWait
  45.     For x.w=0 To 15
  46.       For y.w=0 To 15
  47.         ChunkyPlot x,y,x+16*y+256*z,$ff
  48.       Next
  49.     Next
  50.   Next
  51.  
  52.   For z=15 To 0 Step -1
  53.     VWait
  54.     For x=0 To 15
  55.       For y=0 To 15
  56.         ChunkyPlot x,y,x+16*y+256*z,$ff
  57.       Next
  58.     Next
  59.   Next
  60.  
  61. Until Joyb(0)<>0
  62. While Joyb(0)<>0:Wend
  63.  
  64. Repeat
  65.   ChunkyPlot Rnd(90),Rnd(90),Rnd(4096)
  66. Until Joyb(0)<>0
  67. While Joyb(0)<>0:Wend
  68.  
  69. Repeat
  70.   For n=15 To 0 Step -1
  71.     VWait
  72.     ChunkyCLS 256*n
  73.   Next
  74. Until Joyb(0)<>0
  75. While Joyb(0)<>0:Wend
  76.  
  77. Repeat
  78.   rr.q=0
  79.   gg.q=0
  80.   vv.q=0
  81.   vr.q=Rnd
  82.   vg.q=Rnd
  83.   vb.q=Rnd
  84.  
  85.   For n=0 To 90
  86.     ChunkyVlin n,0,89,Int(rr)*256+Int(gg)*16+bb
  87.     rr+vr
  88.     gg+vg
  89.     bb+vb
  90.     If rr>15 OR rr<0 Then rr-vr:vr=-(Sgn(vr)*Rnd)
  91.     If gg>15 OR gg<0 Then gg-vg:vg=-(Sgn(vg)*Rnd)
  92.     If bb>15 OR bb<0 Then bb-vb:vb=-(Sgn(vb)*Rnd)
  93.   Next
  94.   VWait 30
  95. Until Joyb(0)<>0
  96. While Joyb(0)<>0:Wend
  97.  
  98. For x=0 To 89
  99.   For y=0 To 89
  100.     ChunkyPlot x,y,x*y
  101.   Next
  102. Next
  103.  
  104. While Joyb(0)=0:Wend
  105.  
  106. For x=0 To 89
  107.   For y=0 To 89
  108.     ChunkyPlot x,y,2048+2047*Cos(Sqr(x*y/100))
  109.   Next
  110. Next
  111.  
  112. While Joyb(0)=0:Wend
  113.  
  114. For x=0 To 89
  115.   For y=0 To 89
  116.     ChunkyPlot x,y,8+7*Cos(x/7)+16*Int(8+7*Sin(y/7))+256*Int(Rnd(x/5))
  117.   Next
  118. Next
  119.  
  120. While Joyb(0)=0:Wend
  121.  
  122. ChunkyCLS 0
  123.  
  124. Dim vx(200)
  125. Dim vy(200)
  126. Dim x(200)
  127. Dim y(200)
  128. Dim ccr(200)
  129. Dim ccg(200)
  130. Dim ccb(200)
  131. Dim ccv(200)
  132.  
  133. Main:
  134. num=48
  135. vel=2+(Rnd*12)
  136. durata=16
  137.  
  138.   cr.q=Rnd(15)
  139.   cg.q=Rnd(15)
  140.   cb.q=Rnd(15)
  141. For n=0 To num-1
  142.   vx(n)=vel*(Rnd(2)-1)
  143.   vy(n)=(vel*1.2)*(Rnd(2)-1)
  144.   ccr.q(n)=QLimit(cr+Rnd(8),0,15)
  145.   ccg.q(n)=QLimit(cg+Rnd(8),0,15)
  146.   ccb.q(n)=QLimit(cb+Rnd(8),0,15)
  147.   ccv.q(n)=.05+Rnd/2
  148. Next
  149.  
  150.   For mm.q=0 To durata Step .15
  151.     VWait
  152.     For nn.w=0 To num-1
  153.       x2=vx(nn)*mm
  154.       y2=(-vy(nn)*mm)+(mm*mm)
  155.       If x(nn)>-45 AND x(nn)<45 AND y(nn)>-45 AND y(nn)<45 Then ChunkyPlot x(nn)+45,y(nn)+45,0
  156.       x(nn)=x2
  157.       y(nn)=y2
  158.       If x(nn)>-45 AND x(nn)<45 AND y(nn)>-45 AND y(nn)<45
  159.         ChunkyPlot x(nn)+45,y(nn)+45,Int(ccr(nn))+Int(ccg(nn))*16+Int(ccb(nn))*256
  160.       EndIf
  161.  
  162.       ccr(nn)=QLimit(ccr(nn)-ccv(nn),0,15)
  163.       ccg(nn)=QLimit(ccg(nn)-ccv(nn),0,15)
  164.       ccb(nn)=QLimit(ccb(nn)-ccv(nn),0,15)
  165.  
  166.     Next
  167.   Next
  168.  
  169. If Joyb(0)=2 Then End
  170. Goto Main